Traditionally, electronic data security has been implemented using public key encryption. Public key encryption uses a pair of cryptographic keys, a public key known to everyone and a private or secret key known only to the recipient of the message. The public key and private key are related such that an encryption performed with one key can be decrypted only by the other member of the pair, and possession of one key does not enable the practical computation of the other. However, public key algorithms are computationally costly because of the need to generate large keys. Further, public key encryption is susceptible to a number of attacks, such as a brute-force key search attack and a man-in-the-middle attack.
Symmetric key cryptography is another encryption scheme utilized for electronic data security. In contrast to asymmetric key encryption, symmetric key encryption uses the same cryptographic key for both encryption and decryption. Symmetric key encryption is more computationally effective than asymmetric key encryption because of the lack of the need to generate large keys. Further, the symmetric Vernam cipher is the only encryption scheme that has been mathematically proved to be completely secure. However, symmetric key encryption such as the Vernam cipher requires that both parties have access to the same secret key, and key handling consequently becomes a security risk.
Therefore, there is a need for an encryption system that secures electronic data utilizing symmetric key encryption and which provides improved usability and security of shared secret keys.